class ReunionRegistrarController < ApplicationController

  layout 'seguimiento_layout'

  def reunion_registrar
  end

  def resultado
    dia= params[:fecha_seleccionada]["dateinstructed(3i)"].to_i
  mes= params[:fecha_seleccionada]["dateinstructed(2i)"].to_i
  anio= params[:fecha_seleccionada]["dateinstructed(1i)"].to_i

  fecha= DateTime.new(anio, mes, dia)
  reunion= Reunion.create(:nombre=>params[:txtNombre],:fecha=>fecha, :duracion=>params[:txtDuracion], :descripcion=>params[:descripcion])
  @reunion_id= reunion.id
  @reunion_n=reunion.nombre
  @reunion_f= reunion.fecha
  @reunion_d= reunion.duracion
  @reunion_desc= reunion.descripcion
  rescue
    if(es_fecha_valida?(dia,mes,anio)==false)
     @error_fecha='Hubo un error en la fecha seleccionada'
    end
    if(params[:txtNombre]==nil or params[:txtNombre].to_str.empty?)
      @error_nombre=' Existe un error en el campo Nombre, no se aceptan valores nulos o vacios'
    end
    if(params[:txtDuracion]==nil or params[:txtDuracion].to_str.empty?)
      @error_duracion=' Existe un error en el campo Duracion, no se aceptan valores nulos o vacios'
    end
    if(params[:descripcion]==nil or params[:descripcion].to_str.empty?)
      @error_descripcion=' Existe un error en el campo Descripcion, no se aceptan valores nulos o vacios'
    end
    render :action=>'error'
  end

  protected
  def es_fecha_valida?(dia, mes, anio)
    resp=true
    if (mes==2 and (dia==30 or dia==31))
      resp= false
    end
    if (!es_bisiesto?(anio) and mes==2 and dia==29)
     resp= false
    end
     resp
  end

  protected
  def es_bisiesto?(anio)
    resp=false
    if(anio%4==0)
      if(anio%100 == 0 and anio%400 != 0)
        resp=false
      end
      resp= true
    end
  resp
  end
end
